
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author marcel
 */
public class ListaEncadeada {
    private ElementoLista primeiro;
    private ElementoLista ultimo;
    private int qtdElementos = 0;
    
    public ListaEncadeada() {
    }
    
    public ElementoLista getPrimeiro(){
        return this.primeiro;
    }
    
    public ElementoLista getUltimo(){
        return this.ultimo;
    }
    
    public void insere(Veiculo x){
        ElementoLista novo = new ElementoLista();
        novo.setInformacao(x);
        
        if (this.estaVazia()){
            primeiro = novo;
        } else {
            ultimo.setProx(novo);
        }
        ultimo = novo;
        qtdElementos++;
    }
    
    public boolean estaCheia() {
        return false;
    }
    
    public boolean estaVazia() {
        return (primeiro == null);
    }
    
    private ElementoLista consultaInterno(int p){
        if (p >= 0
            && p < this.qtdElementos){  // posição procurada é válida
            ElementoLista proximo = primeiro;
            
            for (int i=0; i < p; i++){
                proximo = proximo.getProx();
            }
            return proximo;
        } else {
            return null;
        }
    }

    public int getTamanho() {
        return this.qtdElementos;
    }

}